{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'IHSAN')"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nT+bnXX1y4qKrBwf83KOeyO/QIdSbfbR+8qVCzdpKZVe2Sydy7TOufcszco2GXJ3abPNsR1hbnCkH\nAAAAYsagHAAAAIgZg3IAAAAgZmTKV1Cr77hZY73HG80lqzbJtw22+yxff/B9iHd3Drq6L+kzozv6\nt7j68M79ru7t8o+vfY/rqZXjbPUMZ0Z6c49JXvdzF7/h6nt3HHJ1X7vPlGvGvLcqz9sdc5ZX+5CP\ny2s9OzXi6pJVXN0Z/HaxVXr3ap/k20lReosXJNOq29WTZ5++/rMeL3Ijvod5puIfOymzTp6fvuDq\nwW7/uTx88D5X9xf9/l5vXkQr95vX44ceX+pdByHu489a0v2xYH47upj332k278/ZHZz322xfh99u\nOlOtu120yT6SkGt5JKW2yN++Evy7F5nWQHNwphwAAACIGYNyAAAAIGYMygEAAICY3baZcs0Ozxdr\n9x3/uwvfqLk8LZnzdFUuVLu3Npo/a5N825aU7yP+0N67XJ2RPsbHt/vM+FCP73vcIRnRVLK9ofVb\nTY6z1TKc2j/6s1VZXzOz8/NXXX1q6rKrh1M9rt7T63vCv60qzxt3plzbCodluUu/vCQbrvbuXVZL\nBn0zK5d93+O5XNrVJ0fOufrUtN9uTs5fuf7zVN7fV9/FSN5nzZTrHJTR/Iyrpwv++PDwvte6Op3x\nz3/PniOubuVMudLjS725Qmenrri6V/ZRzdtvpPdCFSK/ZU1Hvrd2Kj/n6tPjvm/5noGtrm6lTLke\ny5IhUbPWjLl+Z+uxLQqkyLE2OFMOAAAAxIxBOQAAABAzBuUAAABAzG7bTLlmwD8j2eEXJ31+bloy\n55pN1D6oKVvKrFUkRa49TyuaV1tppRf1SC/srT2+L/mBvcdr3r9zjXOQrZYTb0S2mK9Zj6d9Prdk\nPks8lZ51dbv8f6+by+Dj5zGQLHKdWnOaul1PFHwGVedt6Hu5kfO4SucinB7zvcK/cOVlV1/KTbo6\nW1nqRV6MGsviF/UXcv9cwW+jwXy/6b94+YuuPtS33dU7+vy8iFSb/9roaPfXSWj0ugbNlC/6fvB6\nnL8y7+cCfebCs67WbfRAt89Nf8sdPn+v70Ui4bPKrURz0vpFUw5+u5kr+fduRuZJzOb83ITuDv+9\nFOd2oMeqNsmMJ+S43Fbn/KR+J98+s2U2lsncXP0bVWnFscqqz5SHELaEEP5ZCOGPQwinQgjZEMJM\n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\n3CMv21m24usLef+5Dxb9d2i9uQxrSb+DD+/c7+oLab/PtPlpE3ajxH61rMzjeumyPz7s7fXzPsiU\nN091Tlzz5ZohPzq029XDnX6+TitgdAYAAADEjEE5AAAAEDMG5QAAAEDMyJQv0t65e7b53ro7hn0u\nMim3b0+2y/KV31rtbd1h/rHa6oQBc9Ib98W5y64+OLzT1SXtHyvriiVdKZ/1q9fLey7vM6X1ewe3\nsKBl7bkOege9fVdbuyzfONLSZ3hUrh3w/MxFV8/K7fW9GJRrERzr9fvonVVzUnYPSAY7VTt/mpHn\nfuvBe129e8Rne6dzfg7Kc5PnXX1Fji9F81njjPSzzkn/6qJkjUuVtZtbUJRM+cXxEVdXSv7Yt3wL\nrtOPWl77ZFHy9FP+Gnk7e4dcvZ6Z8nrKkumeqfgc9O6U304uF3xGXOcmFGVOSVry9zp3QXt163yA\n1Bp+L2mmfFktz63Hunr5/Ky8Nt0nNXM+6A8HaIDmwKtz4o899GhD921FnCkHAAAAYsagHAAAAIgZ\ng3IAAAAgZq0TeIuZZv/WMguo/Z+1T7ku1zxbTjKbWcnmzUl+jQuk3jztH3vPniOuvjjv+9mOS3/q\ncp0+yK2sR/Ly/akuV/dKv+y89MfX/8Nftp1voFS5XkvgyQvPuVp7dRelL7nm6Xd2+LzuGw/c7eo9\nVTnyVNIfe/T4oHo7/OfUkfDPPXigx9UvXDrt6lfnx109mvfbtOauO5M+jzvY0Svr6+fIrOWxVLO6\naeknP1PwDac7gl+XLnlvMyZ5eenNrTnpkblJVx+XLHH19Sqard51BVRJ8vGa9M9X/GvvS/hjYZDJ\nTnNl/1pL8j0zLe/9y1f83IX+bp/vHV7HuU56lE7K0UuvK9Au23RB9nftb7/8vd643wutbiPkxBvB\nmXIAAAAgZgzKAQAAgJgxKAcAAABiRqa8BSTk/41S0re8IPk0zS3npa9wXjLm+bLPRfoEKqp1Saa8\nXs5a87aa35+XjGt15lV7YfdIZnu9dcvz37/nuKsvzfv87KRkyjWjWpI+xq2cq9Q+w+PpaVdrn3LN\nLqtOyVEf7Nvu6i3dPmPezOxxe51M+t6tvkf6wMSrru6WzHim5PtPDyf9uh7fut/Vx3YecLVe06GZ\ndJuaKPhtUnuqJyQrvDPV7+qRou/NXSzLsbfin2+q5HPT5WjterKrNnkt2ltba32vShW/fyYkN31n\n/w5XvyTXw0iX/T5TliPASN6/l2H6gqvvSO91daf0DtdrQjSVHIo0Q74t4edJpCVvr3NI9MimPeFb\n98iHVsOZcgAAACBmDMoBAACAmDEoBwAAAGJGpjwGmlvulezcUMpnNjOFWVdXJK9WkMz4+ekrrr5z\nh8989pX94yfWMPO50WkOUxOj2p9W63nJjX/p4kvXf97WM+iWxZ4pl+1Q8/S6XPP0FcnTzkhPZ83Q\nV+e4dZ9Yb/miz01/4/IZV5eLfh8LdUKi+t4NS0/m7tT6vV7dv/VzPDK029Wan5+WjX5Qjk/benw+\nfkBeazK5dl8zBblmg+ass7K8V/LyKclRDwY/Z2Te/Hah+3eP3L8ox+KS1M3s2a7b2PYOn4+/lPJz\nQKakb7huwh2ybj3Sp3xL0ve7n5N5FRnJXafNZ86vyvfY584+6+p3H/8mVyd7/HubamYfc2np3i79\n61PL+tn7Omv+c9V3kww5bhVnygEAAICYMSgHAAAAYsagHAAAAIgZmfIYaD/o1+055uorkunsKMy7\nul6f8nnJ8l6ZGnf1cLfPHpIpX5n23p2rSG/eOv1oZ6VvcnWuOiMZa/ORzdhFkrvUIHW9fP2UvPZn\nL59y9fbepUx93JnynPQpT1ZqL9dQqvaE7kv6fXzn4DZXtzczH9ugLsmz90tGfGunz4S3y/HhcJ/v\nc751YIur29rW71yPHguvlGblFn55kI26Q7LC7ZJJ1yyxPt583h9rRyfGXD0k+freZmbK5Xvk3j1H\nXX1+3h/3ZyRTrq+lJHNC9PoZ+7v955yVDPlo0X9Ppcv++DYn30tTWf9ZvXz5rKsfPPgaVzczU66H\nNqW9/dvkvdD763F/+Vwj4OZwphwAAACIGYNyAAAAIGYMygEAAICYkSmPgeZnt0ifX+37q9ncXH7O\n1ZqrvCoZ9OmMv30657OF2juXjHmVSMva6cB6fcur61bPGdbrU94j2WTtS64Z1rQszxSWctpDPta8\n7rTnuuZlyxIi1c9V+xwPtvsJAl1J/141s191oxJtfv/etWW7q+/ITLu6XXpxH99z0NV9nf7DW8tM\neVay/bOyjc3mfa1zPvrapE+5HOt2tvtrB0xn/PPNFf02PC656FfnfI57f2Gvq3s7mzdxRL9HuqXW\n/bdNtnE9/pSisr+9bPOHpJ99f4/Py//dlZdcnS35Hu/+0Zd/T2nmXK9r0NPZvINEo8feZdNr6ryX\n+p1c73sDG8Nkzo+lhmX+TTNwphwAAACIGYNyAAAAIGbEV1qAtii7f89xV1+e95dLTuT9n/0K0pwu\nXfZ/Nrww6/+kumPS/4m2S1prpcz/ifd2jrNoa6xe+fO3Lte/UpaljWC66s/fGb1MtdQaF4nba7bf\n4eqXpi7WvL3+yTYvfx5vpT8eFbwGAAAgAElEQVTpLmuBVqdWujghL61Q8nGYfNHvox3tfrtaS7o/\n90mk4sGDd9e8f6es63q2d9QI1NOXTvrlsg/p59KR9Ou+b8BHdxLt/rWcLfr2tHqp+ilp+zdR9FHD\nQkUvx752grzYhNS6LhqxmJdoUEIiVgPdvX55u1++s0Nil3mJXUb++TUidj7tv6fuzPrvud5U1/Wf\n25PSyrLBbXD53qw5RWmlWefxomWtcVvn2IZbp3GVk1OXXf3uT//89Z9L42ea8pycKQcAAABixqAc\nAAAAiBmDcgAAACBmt02mfD1a2dwqzQ53S8ZbL4OtWUHNv+UkqzcvOcuZnM/6XZ2+6urtw5KzvI0z\n5Xqp6eV17bShfDQuU/61S76F2PYen/VvtUz5S2PnXa3vhf4ffiVaOU9v5lueaas7bfe21pLSJnBb\nZ7+r9XLsqqJtSXO+Vd6pK/69G+6Wx1/HTLnS545zXVRRsvjTkjO+kvGZb82UaxvAhGSRtwz5S8eX\nNAt8xZeaFS7KPAltA5iXulT2uepmtsbUI1FBnkvz+CfnRvz9hw64errk8/OpTn882trlv5d2dfnj\n19XMjKtHSv47WN+7Scmgv3D5tKuz2aX1ObLTr+tq5zVoi8P6dW3LMub6RYCWVC9D/sGnPr7m68CZ\ncgAAACBmDMoBAACAmDEoBwAAAGK2aTPlz4yfsS0f/ofX6z//rl9wy4/KJYNbOWNe3Z/VzKyv3deF\ngs/ilSPft3ymIv2w5fLF+YLPbZbKPuu3vune1qb9qpfn+2uWLketl5HWPOzWW1rDWzcvmdPR9HTN\nOivrq0lLzVlrj+fnLp+6/vP2Xumdv86Zcs0eJ+XS8u1B5hLI56752GnJx47JezeV9dnFzqprFaTW\nse93qyuWfC760sQVWe6PXbrD6f6q/a21kfkroz7731bWftX+9uXgj7UZmTcxMjnm6h29Q67ubWKm\nPFeuPZfo2Ylzri7K9S1emr7k6tds9bntspzC65Xvqd19w64+PzPq6inJqKfle2qq4OcLPDf5qqt7\nqp5vV3GHW9bd6b8T69F+9Vp3yvEnUfQvXjPlFal1jozWOan1+dAaHn/xiXV/Ts6UAwAAADFjUA4A\nAADEjEE5AAAAELNNmylXmg167KFHY1qT+rRP+X17jrn6Str35p2STHlJEm7zZd8rV7OG6bzPQeaL\n/vbVeVez27tvuWaP69WaKe+oyg7q+9oTc19y3S6evPicq2eKPhOqmXF9tZqzrJWhzxZ8xnLIt0Be\nc0nJGpclI96X9JnVK0WfCS/La5+WeRzjJb+PXpRs9K6B9Z5BsDFo9jZX8MemrNSa+W6X804pqSsy\nf2Yg4ffBqOK3Yp1CovuAbgdT0vd4LXXJ8eNc1l9/okuON0WZQ7K71/ds1zkm87L/DqZ6XF3v+ho9\nkhkvyHubl31uquyf/4XZpZ7RRwo+7z5Y6nV1vb7l2ov/8K79rh6T71g9e6nbWaTfuTK34IXLZ1y9\ns9fn78mUt6ZHTjzsah1HVs9VfMun3mDPXP7aqp+TM+UAAABAzBiUAwAAADFjUA4AAADE7LbJlGs2\nqJVpj+Zlfcql1h7KpcjnGrV/7cX5SVeHyOfjOjok69zps4G3U6Zcc5ia++5v9+9NJj/ras33d1Q9\n3v177nTLNJO5WssyoZIZ1+U6V2FE6quSCW2U9kWu7u29PJ++vpLSL/rA9r2u/vqU71+tfYpN9rm8\n+XzsrPRo7+v110WonsdBn/IlBckZX837jHYx8n3MVWeiXWqfJR7u8p9DVPbbaJ/07h4ryVwCOXZW\nEr4+vNNnn3U7a6ZuOVY9cpf/ztP9+2Cffy/02BZV/DZ9Yfyyq3d1+57rw32+3iLX/pjO+uNHQs4J\njlX8vItcxX9vTVZ99q+M+h7mQ93+uQYazJR3LqtlHpVMJlg2t0D2/1nJ39frU27WOtdJuZ3p9Wr0\nejbrMReRM+UAAABAzBiUAwAAADFjUA4AAADEbNNmyu/ddsie/NH/dr2elH6xmh1aT7ou9bRJfq1d\nAm1dwWe8C5H0f5Vs3qs5nynX3POugu+ZXK74XGcrafS9bPRz12zh3bsPu/rCvO8FPFbw6xMkKl3d\nS1gznN11+pQ3mhHXXrmfu/gNub30DZda7y8R0+W56jrKsl1O5ZcypGlZd81g6jyLZtOMqT7fgPRc\n1nkcZcmUakI+G/l98NSoz6jvrupbrPnWej2XN5tSeSknrtnbabkmgx7bInnnOyRnfWR4j6sHJItc\nkdNUmtPuyvrPomL++dvaElL7B0yGtZuPo8e2vT2+7/g7d7/O1U9PyjwJ+aLJlf17r9ev0O+FXpl7\nNNDpe4cPdfi+5oWcnw/QEfn3Jh3556u+TsKZWd/n/67cQVf3yXPp51BPQvbvtht0Kq+m+7t+p2qt\nx8I4rfV36EYWx2vlTDkAAAAQMwblAAAAQMwYlAMAAAAx27SZcrXW2aBauazJrF82Ibd9/MUnXK09\n1bdKPm5bl+9TPpryy9P5GVfnJb82E/nscGfZ91DOSI6zUPLZvo6yz7yuZ99yfZ9PTvneufXeS+07\nWm+70Gxxj/QS17pNsoZB6nJxKYM6Jn2Dlfbu1gz55y8+72rtjauZ8Iwul7qeRjPkqiyvZ7YqI/rs\n5VNu2fZe3/N4rTPlKimZ0uGkz8v2Bb8+BfPvdanOZ/fq7Lirv3L+hes/v26/71+vuef1fi/WW3V2\n+crkmFtWLPoMd1HeZ72uwNaeQVcf2Ob3f81Bp+Vz6k76xxtO+NvnpW95qeRz0mOTfs7Jgb7trk4m\n17BvufRk75HXosszMu9Bpkksy+urlMyFOLRzn6unMv69yst7lZbnz1f88uq+5XNybBuf9fOktsnn\nrnMLlB6ntS+5ZswTdY6GZcmQT1dysty/l+uZ617v71A0hjPlAAAAQMwYlAMAAAAxY1AOAAAAxOy2\nyZQ3WyO5rDfuvHPFZTeiy//vB9/n6uM7jrr67IzP07XlZ2s+vubZMmWfGdes89j0hKu7O3ymfS0z\n5fXe5w8+9fGa99f38rGHHl3V+mj2sN2kL/GyTLk3W1jKUf/t2af9fVN+d9RMp+aStbd3oxnx1VqW\nqpSm7CHSXr5+eaEqd6n5+bh1y1yBLZ39rt7e5TOr+ZxkyMv+syhEvqfzq3m/jxUmlpbnJEv7liP3\nubrRTPlG60Ocq8qUX037+TG5Ul5v7mjv/zfvv9vV/TI/JyF9xfVaAQd6trl6Puvn30xU/D6Yk17e\n2mdd666O2tcmWEuRXkShzi5Ybw9NST/9gS7pmz6ww9VJOXaW0jL3KSf7kC3tI5OFebfs8ozP7u8b\n3ulq7fW/vG+5f3V6HO9J+rx8W1nuL2+O9iHXeizrt+uR7LSrG8l119tfW+07FLVxphwAAACIGYNy\nAAAAIGYMygEAAICYkSm/SavJZX1x5GVXb6mTAdP8WIdkSMtln0/rlBxkUv5fK5jPs6rq/q9mZhfS\n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\nPGFmbzKzd1b97pp3Vd0GAAAAuC2salC+OKnzn91oWQjhMVsYlP9uFEUfqVr0UTP7aTP70RDCR6/1\nKg8hDNlS55YbXngIAAAA2Iya1qf8ZkVRdDaE8C/M7DfM7CshhE+aWcHM3mtme615E0bXVCvlsjQ7\nqNnhoZTPx2XzPgu4PFPus4BTJZ8kmitoNnh9879x0t7encH3p9Vs4fKs4coq2kBebh0kbTaY8n1+\ntf/9ocFdrtYM+mot64MuGXPNsAaJB1dnh9MFnxGd177lRZ/l1W2+UfUy5B986uM17//Jk3/n6n/5\nwPtc/U0HXuPq7kt+fb88etLVV6r2Oc0dX8j7XHPn1AVXhza/lR3ZdcDVG60PcaGqp/RE0W80eZnv\nos7n/DUUxk7/b1frdpOW7WpetkPtY15/Folkl+XmBTkgbB3y2eL25Np9JWvP9mSQWpZrT/iy5OOL\n0vs70oR8nQsxJBL+2DnQ6b+n9g76jPkrVX3V52UuQEn2mRH5jgsVOZYmfMZ7v2wHminX17Jw8fKV\nl9ej+9yQ1K22T2L9rPug3MwsiqIPhRDOmdlPmdn32kK2/QUz+7koin43jnUCAAAA4rJmg/Ioih4z\ns8dqLP8zM/uztXp+AAAAYKNYbfcVAAAAAKsUS3wFzaXZ3vuk5+pI2ucs2/K+BbzG4SqSm9QesHOS\ns8xI794OyW1qdnAjW5ajlpy25rzHpB91df5e3/d+mQugmWx9rn09vpftzp7hmrdff/IKI8nbVr0X\nEwX/Pj1/+ZSrt/f6HsirzZQr7UNej/b67kr59enq8JnUoQ6/XfRK3VHVPzsrva/ny37/GpP996He\nflf3Jf1209fZY60sX/THl0xVvjezLDtcO7c8LfNdJmT/W5YFVk2eHqM57OW7hP9FW1i/82T6TuhR\nut73gn4WeelLXiz5uiB1Sq5nobX26h4aW9qOZ6R/fTbyjz0j+0y3+bkCvVm/nWQLfhvUdV0+Vyg0\ntlyOfRWdbHAbzctCbZwpBwAAAGLGoBwAAACIGYNyAAAAIGZkyjcBzddqvlX7lrdLblGzgdq3PCN9\ny8/NjLp6d6/PMmuGdTNlyjvlvX7t7iOuPjc37uoJyT5W5zKTkjvsCX53fPveu129vWeoZq0Z9FZX\nvZ2lJTusfYizMm9hyEeyV00z4pox1+VHh3a7WvsKayZ1/9Y9rh6Z973HJ3JLOfG85GM1flqSftCj\n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\nlV7ezbbarKLm7UdzS/X+oZ1umWaJq3uam5lNFfx7MVXUPr/+vSmY366WdViWwOysZEQ/ffoLrj7c\n7fuYz0vGdEbXTzOrZZ+FLkRL66f7U0j4dT8n+dT+qz4vez591eLUVvbv7vMjp1w9LvvImPQtr/50\nepJ+LsFZee2JtM906xwR3WbXOg+byfvtYDzvs8UjOb8P5KSHuxV97rqtOrPe4/eJ3jnft3y1ptKa\ng/bzIvRzKkZ+u8wn/DbdFfnPJhfk9t3+e6VnvvbrWc38n+mMPx5MFX1G+4ocawvy2rTWeRynzW+X\nenzZ27NVlvtb9AY/p+Zw7w5Xv+GO17i6uk85GfDNhTPlAAAAQMwYlAMAAAAxY1AOAAAAxIxMOZbR\nftc90m96sMNn/9J5yYRKoK5Q1W97ruJzhxnpM1yW3tyaMU8kVteTWfN1q82oq4vTPod5bvySqyey\nS7nNqbLPLWsf4JRk+ff0+P7Ubz14n6u39Qw2sqoNW21P90wht+Kyl6d8H2/tcV7vsXLms7jtKZ/R\nLBT9dqT31z7DY5HfiF8Nfrt7zs66WucDlCTDXo5q9/Kvvr/mqKVFu53J+cz42EWfV08l/Wtfb7MZ\nn9ftCz4L/fTkOVdnI5+rru71/fLsZbfs7PPjrr6U9n2/NV/7ePYJVx+R/vbNNivXYRiV6xSMpiW7\nLMe3q20+cz5R1a/6XNHPxxno7r3l9bwRvebClbxfV50nMS3zJDRnfTXjvxd25n3P9ldy/rPs7equ\nuX6rmdOifcufv/CKq8e6/Pt+Puu3q3TFb6O6f+u1OwaT/rUU5fRnUt6rwTa/jxzu93Ns7t160NU7\nB3xGHZsHZ8oBAACAmDEoBwAAAGLGoBwAAACIGZlyLNMled579xxz9WXJSSakF69P95rlykt5vpmC\n7+M7Jf2kx6Z9XnbvNp8BXW2mfK1pj+nehM8KDqSW8viJSMLCokMy5Xf0+96192w94OoDgz6HuFpr\n3dN9PWmP9Celf/yk9M4umO8hn438Vl2ukQlfENWolmuvOj+yvcPnot+4w+9/B7btcXWqvfZ2tN6y\nks//w5c/5+oHdx939bzcvrcqU35i63637BMvf7ahdXnkLr/NrnXP5qmMPxZ+5uzXXZ2o+O0kJ9tV\nSrLJe7u3XP/5zXe81i3busZzSK7KPvM/z37N1SNpn3HX6y50t/nt8kj3dle/bp/fDvq6/Fylnb1+\nDk11/+1GP0fNlN854L9Xnjr9rKsHZ/26nJJ5HHn5luuUz63L/LyOtHzOJTm+6JyTVqbfC/XQJ70x\nnCkHAAAAYsagHAAAAIgZg3IAAAAgZmTKsUxXe0fNujfl65T8v1264vN7c8WlHPnZ6RG3bCD43OGO\nbt/LdlfZ56gbVSprwr22ZKK5u0Rb8BnS9qrsYTDf+1Z7V2utvbTT0ms7I8u133yj1rqn+3rSTHk+\n5+c2jMhchvmSfy8npEdzriIZUcnTaoq8EnydCn47G6qaa3Cib5db9sCujZUp18zpoUH/ejRDrtci\nGK36LPZt8fMkjm/Z5+rHX/R9yB854TPkR6Uv+VrnW0dmZDua9hnzZyvnXD1Z9tuh7vN7+pf6Ud+9\nxnNI1AW55sLopO8rHpVrz7voT/jjz55unxHfHrpcfWLbYVd3d/rlq9Eh+8hAt98OHrjjLldPv+L3\n966CzDmRbbYk+3cm0mO7Fy2bc9LYHJT1pPvzySl/7YBW2wc3Os6UAwAAADFjUA4AAADEjEE5AAAA\nELOmBmhDCN9iZj9uZg+Z2bCZTZrZc2b2a1EU/bnc9iEz+zkz+yYz6zSzU2b2O2b2oSiKfGALsdJs\ncm/KZ/16kj5jfinr87vPT5y//nNC+jl/beqsq9+67x5X18vWaf9ZlZW+6HPzPhs42Ocz7F3y2pLJ\nxnaRLsnb63vXXbV8Np93y+plyivSy/bFsfOuvmNobTOmG5l+Dm89+DpXT0p/6TOjF1ydle1sTHrz\nj+Qkc1qS7VI+u/6kX5+7Bvde/3m35Kg7urtdPVPIuHpbi2XK681FUNmi3w+OSAa12rayf18fe+jR\nhtZlrfXIdrZdeokfqvh8fSLne33PyfGqun/1erey1mN1Uq6boMuVHq8y8tr02F0s+Ry2WfMy5Uoz\n5oOSMT+6Za+rL+b8tTnmc37dy8tS4ybLa394OudEM+brqV6G/INPfbzm/TVjXm8fhde0QXkI4efM\n7BfM7KqZ/XczGzGzrWZ2n5m9zcz+vOq27zGzT5tZzsw+aQuD939gZr9qZm8ys/c1a70AAACAVteU\nQXkI4X22MCD/X2b2nVEUzcny9qqf+83st82sbGZvi6LoK4u//3kze8LM3htCeH8URZ9oxroBAAAA\nrW7VmfIQQpuZ/bKZZczsu3VAbmYWRa4/0HvNbJuZfeLagHzxNjlbiLOYmf3QatcLAAAA2Ciacab8\n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\ntSigpEWCBUpLhdZwiJZWoN4Fm8TktKEEAgmX3BH49Y/33ZzJsPc+2Ztz9nv27Oez1l6TPfPOPjNP\n3tnzzux3ZtwoNzMzMzMrzI1yMzMzM7PC3Cg3MzMzMyvMjXIzMzMzs8J8n3IzMzOzEbR+64aeyvue\n6dPLZ8rNzMzMzApzo9zMzMzMrDA3ys3MzMzMCnOfcjMzM7MRUO9DvvzBe7Z7v+iuJdu9/+15r9zu\n/dy9fnG79+5jPrV8ptzMzMzMrDA3ys3MzMzMCnOj3MzMzMysMPcpNzMzMxsB9T7gr//6uV3LL7rz\n5u3erzv9qilfJpvgM+VmZmZmZoW5UW5mZmZmVpgiovQyTDlJ62bPnr33YYfNK70oZmZmZjPSD+5f\n2VP5X9334GlakuG2bNldbNmyZX1E7PN0PqepjfJVwBxgtzzqpwUXZ1j9Uh46u945u/44t/45u/45\nu/45u/44t/7N1OwOBB6JiIOezoc0slHeIum/ACLiRaWXZdg4u/45u/44t/45u/45u/45u/44t/41\nPTv3KTczMzMzK8yNcjMzMzOzwtwoNzMzMzMrzI1yMzMzM7PC3Cg3MzMzMyus0XdfMTMzMzMbBj5T\nbmZmZmZWmBvlZmZmZmaFuVFuZmZmZlaYG+VmZmZmZoW5UW5mZmZmVpgb5WZmZmZmhblRbmZmZmZW\nmBvlZmZmZmaFNbJRLukASV+WdI+kbZLGJV0oaa/Sy1aSpH0knSLpGkkrJG2R9LCkb0v6fUlt64Ok\n+ZJukLRe0mZJP5R0lqSdBr0OM42kkyRFfp3SoczxksZy1hslfUfSwkEv60wg6RWSvi5pTd4210i6\nSdLr25R1vcskvSHndHfebldKWizppR3Kj0x2khZI+oykb0l6JG+LV0wyT8/5NHE77iU7SXMlnSNp\niaTVkh6VdJ+k6yQdO8nfWSjptpzbwznH46dnraZfP3WuNv+XKvuNQzuU2SnXyR/mbX59rrPzp25N\nBq/P7VW5Do3lHLZIWiXpKkmHdZhnOOtcRDTqBRwC3AcEcC1wPrAkv/8psE/pZSyYzWk5h3uARcBH\ngS8DD+XxV5Of8lqZ583AY8BG4EvAJ3KOASwuvU6F83xezm5DzuOUNmVOz9MeAD4LfApYncddUHod\nBpzXB/N63w9cCnwE+CJwO/DxWlnXu4ksPlapQ5fk77SrgUeBJ4B3jXJ2wPfzum0A7sr/vqJL+Z7z\n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\n+t4LPLc27XU5uy3kJxWPenbs2MODespnVLbjHchuFvDPucwltHmQS5t5hvpBLlORW5f5xnh6Dw+a\nU3rdB1DndiVd0PkE8JratA/leceaVOeUF7Yx8s3mbyVdtXsd6bZWv056itQyYH50uUdok0laSLpY\n7HHgM7TvVzUeSF6X6wAAAlpJREFUEZdV5jmBdGZkK+kpZOtJt2J7QR7/1mhaJeqRpPNIXVhOjYhL\natPOAD5N+jL4GumM5gLgANIFo38y2KUtQ9J+pB3MoaR7795GejDOiaQv0HdGxOJKedc7nrxzw42k\nO9ZsAK4hNdDnkbq2CDgrIi6qzDNS2eX1bf30vz/wG6TuJ617PD9Q3c76yaep23Ev2Um6lPRUzweA\nz9H+YrmxiBir/Y1PAmeTLui+mtTQehvp9nZnRMTFU7dGg9FrnevwGWOkLixzI2JFbZpIffUXkG7C\ncD0pr7eRDiDfEhHXTcnKDFgf2+vLgZtI9eYa4H9IBydHkQ6wXx4R23VHGeo6V/qoYDpewPOAS0lX\n7D5K+k+8iEnODDf9xcQZ3W6vsTbzvYz84BfSWbkfka4o36n0Os2EFx3OlFemvxG4hdSo2kR6OtnC\n0stdIKe9Sb9Yrcrb5TrSgfNLOpR3vUs57AKcRep29wipK9Ba4J+A40Y9ux34XhufinyauB33kh0T\nZ3a7vc7r8HcW5rw25fxuAY4vvf6DrHNtPqOV51POlOfpO+c6+aNcRx/MdXZ+6fUfdHbAL5MOhtfm\nfcdq4AvAAV3+zlDWucadKTczMzMzGzZNu9DTzMzMzGzouFFuZmZmZlaYG+VmZmZmZoW5UW5mZmZm\nVpgb5WZmZmZmhblRbmZmZmZWmBvlZmZmZmaFuVFuZmZmZlaYG+VmZmZmZoW5UW5mZmZmVpgb5WZm\nZmZmhblRbmZmZmZWmBvlZmZmZmaFuVFuZmZmZlaYG+VmZmZmZoW5UW5mZmZmVtj/A+07+TBjbSJb\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x23658521cf8>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 203,
       "width": 370
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#https://zhuanlan.zhihu.com/p/26078299\n",
    "from captcha.image import ImageCaptcha\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import random\n",
    "\n",
    "%matplotlib inline\n",
    "%config InlineBackend.figure_format = 'retina'\n",
    "\n",
    "import string\n",
    "characters = string.digits + string.ascii_uppercase\n",
    "print(characters)\n",
    "\n",
    "width, height, n_len, n_class = 170, 80, 4, len(characters)\n",
    "\n",
    "generator = ImageCaptcha(width=width, height=height)\n",
    "random_str = ''.join([random.choice(characters) for j in range(5)])\n",
    "img = generator.generate_image(random_str)\n",
    "\n",
    "plt.imshow(img)\n",
    "plt.title(random_str)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'0BCB')"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuUAAAGXCAYAAAAUOC6pAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAWJQAAFiUBSVIk8AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xl0ZGla3/nnjV1LSMpFuVRVVmZW\nVdbetKu6u3oDesHG2AU2ZpnTMx57DjYc24ONMbRnbBYP3rEHD9DNMfaBoRt7xtMYPOChAWO7u6EN\nDVR3VW+VtWTlWllVWbkpUwpJscc7f0iZEb8npAgpFdINSd/POXmkJ++NiBs37r26uvq9zw0xRgMA\nAACQnFTSCwAAAADsdpyUAwAAAAnjpBwAAABIGCflAAAAQMI4KQcAAAASxkk5AAAAkDBOygEAAICE\ncVIOAAAAJIyTcgAAACBhnJQDAAAACeOkHAAAAEgYJ+UAAABAwjgpBwAAABLGSTkAAACQME7KAWCI\nhRAOhRB+OoRwJoRQCSFcDiH8egjhG1aZ//0hhLjKv4UQwoshhJ8NITy8xtffE0L4cAjhv4QQXlte\nhlII4VQI4f8OIXxrCCGzwuNWW4ZKCOFCCOGXQwh/YqPrBwB2ihBjTHoZAAArCCF8jZl92sz2Lf/X\nnJmN29IFlWhmPxRj/HH3mPeb2WeWy2tm1lz+PrX8PLcuxtTM7EMxxl/t8frfbWY/YWaTHf89Z2YZ\nMxvt+L9TZvadMcavdDw2dsxf7ph3j5nlOuqfiDH+7dWWAQB2C66UA8AQCiGMmNn/Z0sn0l80s8dj\njJO2dFL7L8wsmNk/DSF8Y4+neUeM8dDyvwNmljezb7Clk+icmX0shFBc5fV/1Mx+zpZOyJ8xs28z\ns4kY42SMcczMDpjZX1xetgfN7MlVluFvdizDITMrmNljZvaby9M/HEL4ujWsEgDY0TgpB4Dh9FfM\n7KiZzZvZt8QYT5qZxRjnYowfNrNfW57vn671CWOMjRjjp83su5b/a9LMuk6IQwjfZGZ/f7n8eTN7\nd4zxV2OMpY7nuhpj/Ldm9jYz+5u2dOV9LcsQY4wvmNl3mtnN5f/+lrW+BwDYqTgpB4Dh9OeXv/67\nGOPrK0z/35e/PrnWfHiHr3R8P7bC9H9uS1fiv2hmfy3G2FrtiZZPsj9iZv/PehYgxrhoZmd6LAMA\n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\nN//5ki2dkF9ZZdZbLRS/aYVpX29mo2b2uX6dVwAAAICdYiDB5+Ub//wDM3vWzL5xhchKp18xs39m\nZh8KIXy04+ZBBTP7R8vz/OwglmuQBpkRX69axWXKX9NMeb3k8nIN15c8aLY3Nabz56c1nzd1oCj1\nyJhmUPtJZfT58pPtjGpqzOWeZ12m3P+e6HLK5jLnfWLSQ833FX7lMzo4oHRFM+b1Rf0cu0dd6Hpv\nRZ2/EXzmVNdlOug2HqL/nV3rjMugN9zjK2Vd/vlZnX9hrp2dHp3SbSybTW5/2woV99lfPn+9Pe2m\n+5zr7nNx6z2m3D6V0jxtZq8+3Yn36n0GRsa1X3UIfRrYY8t0/tzJjrkxH5Nuf9Y25hZb7jg/pmMF\nHnhKt4PJA6NSb3Scx2R6XOpaQ6+zPfquE1Kfek77mM+UtG95q6Ozcsp02XymPDOuNZlybBcb/skX\nQvifbOmEvGlm/83Mvm+Fg/r5GOPHzcxijHMhhO+xpZPz3wkhfMLMZmzprqAPLf//L210uQAAAIDt\nYhCXo44vf02b2fevMs/vmtnHbxUxxl8LIbzPzH7YzL7dzApmdtrMfsDMPhLjdr7+CQAAAKzPhk/K\nY4w/ZmY/dgeP+30z+9MbfX0AAABgu9vZwc1tqrqgWcGFGc3mLtzQrJ3Ve2dA66ZZvrG9mjm//8kj\nUufHN5YlLIxqRnW8Iy+cLehzV29q/jXnNsl0Spe1WdP8rO/33Ki7PO0QZ5N9n/LKvH7uPnMeXIi8\nFXVdtNL6fPkxXXcj45rbzk3qdlOd1SxzLOnj6wsu/x98H3OXeXX97Jsp3Q4vv3n59vd7Dus4hp2e\nKff7+NVTc7e/r8+7PKzp5+C13MCLMKHbweRRXbcTB8ak3m094rer6O9D4P6g7Ke33Hic/KjuU4VR\n/dwHvR1kMvp6h48clPrapetSd/0UK+jxL9XsOH41/R/TXR183WNBgSEy8D7lAAAAANaHk3IAAAAg\nYZyUAwAAAAnb2cHN7cJlA33e9PQfvCb14iXXx7jpPkaXn/M91ovT2o92Ylr7yeZHNpYtzOa1H+49\nJ9r9cK+8UpJprZwLPrq4fMrladNZfXOz1+aknj6ybz2Luul8brzWkRP3fcj9vF0Z0rTW2RHXN3xS\nP+c9x0ekPvqo9iXOFvRzmp9ZkPqlT12Uul5xn1VTP5uUy5hngz5/MH1/u0m1rPt0eVbz9eWbHdNr\n+rn69RqDy5DntR7Zp+v9wSePS513Yz4wvKqL7e3CHx/qJbc/Rnefgq79zWfQN1c603ssRNcYFPdz\nK6T8ErZniG7p603NnzcqeiyM/n4XwJDiSjkAAACQME7KAQAAgIRxUg4AAAAkjEz5EPDJucU5DVZX\nb2iGvDGj4btMWn+3yrl+tPmDmhF/7L0ndPrIYDOm2ZxmWrPZ9usfOLpXpp25cEVqn0IMLieZrmhO\nemrvnjtcyq1Rc73GT/3O67e/v36u5OZ1GdCUBiEbGc2gF+7Sz/XRd98v9f57dN34PsS5vNbZgq79\n4jHdjqpzLvO+6PuWu4yoqVRNX2//dDv/73uabzfNhttHXf/80nXN67/y3Dmp42J73afd5+7Xo8+U\nZ4p6BDn6lsNST+zVPuX5wmD7UXdtt334MS5o68yQm5nNXmsfI07+3isyrbmgW0aIug/lx91x2N1/\nopB0f3q3vMGNUbGS3lchtjrer9sHWlG3wVbTjcchU45tYnv/JAQAAAB2AE7KAQAAgIRxUg4AAAAk\njHDfEKhVNUdYr2o+rlHVvGompVlBH0rPjGo277H3HZN6Yr/rSz66udnCQsfzL97QjHV+VN9Lvapv\nJrT0vTRcr+ym62verLm8rVtVm83na0tXNQd+/Xw7Izrvpnkhp+sif1AzpJN3a75+3xHNkBf36Ofc\nT3ZE1/XEoTGpfQY+1nXltvSjtWZLlz+T12sAlXK7V3c2u70PRT5DfvXyVamvXZiVuvymPr620N7H\nU+5aie/JbK5ffX5C112/sQQb1W8bv/CMvvejT01LXTTdbsmYt1UWtX99Z47cHy/iQu+xQLkx3T8f\neErvUzDo7WLdWm60xJxuF6HuDigdjcxjWn8m5op67PI/Vwqb/DMOO8MwjI/hSjkAAACQME7KAQAA\ngIRxUg4AAAAkjDDfEPA5pjdOa+C0VXb9aIPW0TRjmh3X6TmXr9vqLGE63c77HX+L5hrnLpyWumGa\nFfTqLl9/9ouvSj1x94NSb/Z77ZevfeUzr0vd2bfcZ4V9nR/XnOSeY1NSP/wO7UueH9nYe/V9y4t7\nNFM+fpduR9dvLkqdtlGpg++wHfT9jU/o828nzbpuh4tzui5uXL4pdemaTq8v6ONDq319JLr1FIPO\nmxrT6ZP3aBZ3dEI/h879707028ZPflL3Qc9nzB9/+t4NLc9O5vuUd6775pz+uE67Pt+tqNtJ3t2v\nojDmfw5s7YCb6oJ7byXdrqquNjeeKKQ7MuXu0JIv6nt94O1HdfroYO/FgZ1ho+Nj9o3pPSAGgSvl\nAAAAQMI4KQcAAAASxkk5AAAAkDAy5UOguqj9WBde14x4bdHlT/3vUi4aGLKu1/cW9+r2OnPdo3t8\nblnzr/XZealbNX0v1bL28W0N3tlOAAAgAElEQVTldF34TGZRWzYPXGdG3Kw7Q+4zap0ZtuD2vpjR\nfFv2gMtJvvWY1BN7NM+WzW3sg85k9PUmpyek9mMZUjk3tqHitjuX+0yn9fk7++1vNPe81Zp1/ayu\nn5uR+s2XrktduqLbZai6/H3HynLt3a1uuo2N79Ft/t6HXf/pTe7J7HOW/fgcJnpwn33nWIOUy5CH\n2G/sULJjibya+zl37vN6rKy7n3Op4H7OdYy1aLlxFvlxfW+Fcc2Qb/Y+ge1h0ONj9h0jUw4AAADs\nOJyUAwAAAAnjpBwAAABIGJnyYdAI66p9H2OfTR45qPncVMKZ8l4Kh9x7Pe97d6tmcL1uyy6L7J5u\n0Ppl0nplyD2f/Z88oR/k/uOa6R6b0hzyRjPkXiqtv6NnMrpui/u1r/jNU5rvj27lR99MeE5znfWF\n9tgJv55yY8N9aPJjFxZvVKSev6CZ10ZJ12Xa3VsgZZ3TdbvIuWzw+J6C1MW9+rn4fvOD5jPi/Xr5\nFqe1j/qwf7aJcvtMaHbsk+5g6O9rkB3Tbey+d7qxBlvcl7xe0wx56caC1PM3tW5UdJ/JuHEmkiPP\n6/EiPab7RDqrx7Jex+GVsI3uDsM4PoYr5QAAAEDCOCkHAAAAEsbfaBLgbzfsWyI2yvqnbR/JiO5P\n35bTP82l3B2F07lh+t1L/+Q6/6aPQPi59X9ajZarXdyl4Z9hY/rFVXwLRN8i0S+/pdvLn5/QP89O\nHtZ4yvHH/a2it7atl4+zpFIuFuXiLU23oWZcripEnf/N52dvf7//6OQdL+dWqFVdXGVBt4NLF7UF\notVc+8dW75hVjB3t3qJu46MjrjXmE267GNncW4j7P+UXTeMojz9977oej7aqO17U5l0917EtuGiL\nj6MUD+jnMnFAjydb3RKx4iJeF8/qsXLRtbcN/niR0mNnfry9D6UPaFzl0P379bGufeR6b5/ut3G2\n4Z1po1G8zTBMZ2sAAADArsRJOQAAAJAwTsoBAACAhBGUSkDFZcpPP3NRat9uLbgAaiqvdXZKf7cq\n7tMsYW7ArfM2ollzGfGqvpdGzbeK0/eWH9EsYSGjGa/86Prytf1aZfXLkPvp/rOzrMvAF9rTR+7V\nz+mou1366NjmtkDspzPnbNZ9W+/gctLa1q+7lV/I6PPtf6T9/mbevCHTMi5H7bdhn6/f7Lx9tayf\n69kXLki9MKctEVt13Q7ToXevzlbHOJHMqM47dlC3+Yn941Jv9VgD8rV3zh8f5q5qW8AXP6PbVW2+\n3QbQ56T9/nX/O++WeqtbINYq+t5KMyWpr57VfbxWci0QTZc3pvXYmTvU/v7hr31AphWndJ+olfSx\nL//2a6ss9RKfJe43TgLb03YYH8OVcgAAACBhnJQDAAAACeOkHAAAAEgY4cAE+L7kvldtZV6zeZmg\nWbtMQX+XOvzwlNbHDkq91Vlkr7Mvu89UVsqaxe2dvDUbHdUM2ANv9z2be+dr+/Ud99nC4rTmef38\n/vl8l/RmQd/f3hPt5d9774RMG5tKNkPedev4We0jPD+j7918HD+rGdHUmOY6735qn9SvnWvnPFtN\nXXOL1/TJs2O6ZTz2tSekntxXlHrQPZn9vQXmrujnWrvmbnne6rcle+3H+9ziA+9INiuMwaks6j51\n8vdOS71wTac3F9vf+2EJuVE37sJtN0n3JT/7lVd1+qy7n4Ybd9EKbgxLXn8ujnSMlZrYr8fKsbEx\nqZ//PX3tfrbi9ukYPsM4PoYr5QAAAEDCOCkHAAAAEsZJOQAAAJCw4QvU7AJd/Z5d/9ngflfy/aLT\nOf3YCuOazRsZ1xx0Jpvsx9zZ4/mVL7icoe/rHXovq89J+nytn94vQ37yk7o89brmGC+fuu6WwKfG\nPZ2eaujyZPPt+vCRQzItV9jaDGg/F76iPdkXX9d12ahrZryR1s9yZJ/Of/lNzZzPXWznshev63pv\nRX3u7LjuE8/NviT12/7Uo1JrWn/j+dro8vOh5LbTuru+4fbpfoMlOoeNFPa4/XvKb/PDtZ1g7fy4\njZobq1Bb1A0tE9qfdWcvezOzumn+PLpjT797MNTcWCbf99zzfcP9469fvCn1zXOud/9NfX6/j6dy\nuvwjR3SnmTrY7kWe6zN2yGfE/VghP704rWOVhjFrjN2BK+UAAABAwjgpBwAAABLGSTkAAACQMIJT\nW8D3IfdZv0bJ9Wd1AdQYNHsXMlr73tyZTPqOlnOzVMvt7GOt5vo7u57tuai5Q9+btxl8TnJ9/aB9\ntrCf4gldl/Pn9fVdC3kLNf09t1XVHPVCx+Mbb9HPsVXT2hJuR333fXdJfe2k9lRu1vS9tYqaj52f\n1bp0ST97K7ffYLqq4yJSLh/buK7rfdGt15OfOSv1E9/8kNQbzmG39HNNtdy9A6I+f/AbrhNdPjhd\naM8/epduc9nCcO3PWDufIff97isl17vbjyfq2A8aLXc/iwWdt3R1UerGgm5jl56/IfW++7S3/8z5\nktSHHtujy5LS5zt3UsfjzJ7V99ac19OLVsPdx2Bc33thn86/7x4dGXLvI0duf58v6PHCj5sqmmbE\nH3/6XuuFDDmGBVfKAQAAgIRxUg4AAAAkjJNyAAAAIGEEqbaAz5Cf+4MrUtfLLjPuctKtoFm8MKL1\n+OSo1OnM8H6sIa3vLW2al/Xv3WfGs5brNbmvfv1r7/5jh6VumOY4z+c0R1n9kn52se7GBzT1/ZVv\ntp/vq//ljEx74mnNQU/auNSb3Z86P6rPXxjV3ObY2JjUpSuaYbWGfhjNBddff1H756fq7e3U9+b3\n0i5g35jXfWr+iubV/bL59+L723tNl3/1davh91l/r4F+mXK3bsbb9d7Dk25Z6Uu+XVUWtZf46Wfd\nfRHm3TiSqMfuIN/rNlVf0G3ylc9ckjoV3VgEt0leemFGar9PXD03pw9I6estzut7qyz4vun63jJF\n3ebHDuo++eC7Nfc9fWSf1CMd9+Pod+8NMuLYrrhSDgAAACSMk3IAAAAgYZyUAwAAAAkjeLUFqvOa\nS64vuj7lrvbZP5/1Gyn62mV1U8P1u5YkCV3uOJ1yGcrW+kLiIfae7rOF6+1f2zDtvXvtij7+xt4F\nqVt1fb2oMUurzbcXuPRmWaY99xsvSP3k049KPeiMeXf/fK1LV3T5qi7HnQn6+g33XjM1l9uO7rON\nHdupm+Tzs91tvzUvGxe0PvuHmq+dmPbrrnemvF7XdTFz7XrP6evl7z2Qybe3m8m92p85m0u4YT3u\nWL8+5T4Xno3+xgftDT+T0mnRDelYKOu4iq5xDX7/cwdPf88IrxV1m623XF/ytNaFCV3eyeP6c+qh\np+6Tet9h7Ys+Mq7zh9Q6BxAB29Bwnb0BAAAAuxAn5QAAAEDCOCkHAAAAEkamfJN05nV9Vq87u+ez\ncprdy47ox3T/k0elzrsezEOn8+34XGPLZ4e1jmnXLzpVc9P7hMqd9favDTV9/nsfukfqyk3NWV+f\n11xnpeY+y44MfXWhd2/tF37nFamffPoxqdebKff98uddZvylT12UeuGahsQbZdcv3/1On27qdhhy\nuu4yBc19N2P7+VIui9+suj7gbrtIudeuzbseyld9Pl7Xbd5tB35d1mv6+MWSrqtaTbfDdR9K4+pj\nK1JpXU9pV2P76urH77aDrrEUHbXfB9bL98b3pdf35VwmPRR0Hxw9rPvUQ08dk3psSsfntKI+vlbV\nfTA/Qr9+7HxcKQcAAAASxkk5AAAAkDBOygEAAICEkSnfJJ2Z8rN/+KZO69MPNrhWtflJzZSOTGl2\nNz86XFm7WsX14u3I59bLLivsI5ZNV6fc/BNuhrROHzTfI3p8ckzqow8ekbp06rzUlRu+d3D7DWfN\n5Zhdbnn26oKrS1L7HHS/7cD3IT/1mTekvvGqvp6f31x+P2ZcxjynmfXchB5e9p/QXuGFjuW9+Ow1\nmVat6nNlo3tvvuWyC8D6feyF3z0r9VsnHpB6MqXL1mzoduW36VbDB3LXmff1D292PN6Pu8D25T9n\nP5YgpHtOl4dHt/91P7mr3XO5x7fcodPf3yIV+uTdfd9wf3+Nou6zfp+8cf11qWtun3/wj92vz0em\nHLsAV8oBAACAhHFSDgAAACSMk3IAAAAgYZuSKQ8h/AUz+zfL5ffEGH9+hXm+2cw+bGZPmFnazE6a\n2b+MMf7iZizTVqvNt/Nz1QWXsXb9on2Wz2f3Rg66kPmQq1X1/V54+bXb3zfTFTe3e28+9+h6tvtc\ns49kbjafMfe9t0PB5TpTLnfd7OhH7RY+FXV3rM3rdnL689pHfGK6KLXPlPu+5KWruu4XrmldX9T5\nu2LSGf0sMvv1cx6Z1OW/9/HDUh86dlDqxfl2hv7KG1d12qwuS6vh1pX1/uC79rmS5llffPa01E9+\n8FGpowvcNl2GPLrNsl8K3Od5Q0rrVLp9DMikuVayXVUXa71rt136Y73Phbda7dofC1vmxnxE3W6i\nuf25qye67q9d22j0+5jbZt0+GN38s6f1vT7/pu5zYUSPjRPTOq6jVuk99grYiQZ+9A8hHDGzj5rZ\nfI95/rqZ/bqZPW5m/5eZ/ZyZ3WVmHw8h/MSglwkAAAAYZgM9KQ9LLRA+ZmbXzexfrTLPMTP7CTOb\nMbO3xxi/N8b4t8zsa8zsjJn9YAjh3YNcLgAAAGCYDfpK+feZ2QfN7LvMbGGVef6SmeXN7GdijOdv\n/WeM8YaZ/ZPl8q8OeLkAAACAoTWwTHkI4REz+3Ez++kY42dDCB9cZdZb//+fVpj2W26ebcNnBSuL\n1fa0ju/NbA0tjXWGhfOa5as/plk8nx3OjSXbfr7qsoC1avv9l2/otIzr1R2D5iazo/pesi7DnSsk\n27s2ldXPJr3H5ThfdznQZrvuimwHlwkv6XYzd1kTYXOub3nK/Y5dW9Dt5BXXl7zq+pB39T12GfJm\nQTPoe+4ZlfrE245LvffAHqnzI9pfvzOPv+duzZMuzuh7r1/RZQ0NPw7DXV8I+l5qFX2+6PK4tbLL\n+rqnazVd3tZ6jwPx/LpNuR7Pe6dGbn9Ppnz7qrhj/ennXpW6Pu/uuxB7jxfKjLS3k6Y7No6Ojkhd\nXlz9nghmZhX3c8LtIl3jZVpp3Sf88aVZ030oXdblqVf0+NMoudef0uffc3hSXy9Dv37sPgM5ewsh\nZMzs35rZq2b2Q31mf2j56yk/IcZ4KYSwYGb3hBBGY4yLfV732VUmPdxnGQAAAIChMahLqn/Plrqo\nfG2Msdxn3lu/Ds+uMn3WzMaW5+t5Ug4AAADsBBs+KQ8hPGVLV8f/RYzxDza+SLf/DuzvGdwlxvi2\nVZbpWTN7cgDLAgAAAGy6DZ2Ud8RWTpnZj67xYbNmtt+WroRfX2H6xPLXuY0s21bz/WhPf76dJfR5\n837ja2Ndp7dcu9bXv3RT6j13T9hwcb9PtdrZwFBzm1zT5QZd/+bslNbHHjsiddKZ8vyYvv7kXWNS\nz77ueoFfbecsQ0PXhe/7m3a7px87cPoZ7Vv+4Dt0/ovPzEhduqp/eKr1yZSnNTJuUyc0973/yJTU\ne1yGfLTonsDJF9oZ86OP3CPTKvOazb08q3n62PTZXN1n/LpMNbVuVtw26jbD2HVJwGXCg3uAr7vo\ndL/dFDrq/Nj2ui8B2vzPAb+PtRZ0O0i77cL3Iu+cet8775Jps1d0n3jk8Xulvvj8ZTe//yO27hPZ\nnC5L8ZgeT66/rn/crr/mtnk3zsMfv0LL91F3x/qcOx4ytgK70Ea3+nEze9DMHjGzSggh3vpnZv/b\n8jw/t/x/P7Vcv7z89UH/ZCGEw7YUXXmtX54cAAAA2Ck2Gl+pmtn/ucq0J20pZ/57tnQifiva8mkz\ne6+ZfVPH/93ypzrmAQAAAHaFDZ2ULw/q/O6VpoUQfsyWTsp/Mcb48x2TPmZm/4uZ/fUQwsdu9SoP\nIeyxdueWFW88BAAAAOxEW97QOsZ4LoTwt83sI2b2hRDCL5lZzcy+w8zuscENGN1SFZ8l7Khrblo2\naD9XnzdNuZh02mX97n5Cs7tJq1X0/flcZXW+natMu768vpduTGsG02dvfd42n3Cm3Gfajz2iuc5K\nSdfFlcV2Kqs+q318fR/gTHCZ8pLmTeevaF792nkdhlG6sr4Mec71hB+d1vqRp45KPXFAM+O53Pqy\n0Ll8e/7iHs2rj07pPpLbq/ciq5V1XfjMd3T51VTDbSct3adiy/UhT/mQec+X6ytGfb6s69m+96F9\nt7/PFJK9zwDuXNfYhpbLVUe33XZtF1qPHmhvt35s0pPf8pD1Mn1cf07MuuPBxeevSX38yWmpa1Ff\nr+SO6+XLep8Ea/hju/LrJiwUpI4Nt0821rmTATtAIkf/GONHQwjnzezDZvYXbSnb/oKZ/UiM8ReT\nWCYAAAAgKZt2Uh5j/DEz+7Ee03/dzH59s14fAAAA2C7oOQQAAAAkjPDiHaqWXW66rH2Vq9X29FSq\n92qOvjety5BPPqKPL+zR7F5uLNmPseoy5edOvir14o2O6U3N9gaXPPT9oYN/a0MWM8y6HPX4lOas\nH3zifqkX3nzh9velhuthXHa55uj6CJu+Vt1FOi/80RWpfZ/grh7IWZfDHtH6xNcdk7q4V3uwj/Xp\nQ74e2ay+t8NHD0r95ovac70Rdd2lrHeetWk+y+uXwPdcdttlzU1vru96hl+edN71Ue+oU24ahlff\nvuQl/SyDy5A3W3rvgcKo5qzvf+fdt7/ff3xSpvUbb+P5+Q8cn1plziW1hr63yT06DqI8qmNaGhU3\nRsZlyFs62WJdd8LFN3RdtMiUYxfiSjkAAACQME7KAQAAgIRxUg4AAAAkjEz5HapVfY76otT1cjtA\nF7ryri6vmtawXXNE8+mhoD2cU9nhytp15evnNVdZvdF+f9mmT9cq38+5VenTL3rIdGXM92ju+qH3\nHr/9/ZcWXpJpldf1zaV9X9+gdWNBM5gxuO0o6PO1XI/kmNPtbN+DRakXqrNSHx7bZ5vFr7e86+Od\nG9E8bDqty26+z7h7736fM7cufTY41HV67bK7ftFnO+7ilqfh8rrVSjuf22xodj+T5TA9rHzv8DNf\n0J8DtXndR31fcj/WITumGfRix70AJg7odrFe/TLnXqjqNnvs4bulvnF2XuqGu+9CV59xv0/6Y31K\nH99q+XsRADsfV8oBAACAhHFSDgAAACSMk3IAAAAgYYQV75DPUbeamn+rd8TtMu53n+iC0T5LV5jS\nrF1I6XMnnTGtVTQzXitrXZnTdZNutrOMIfb+PTD0i+r2nWG45Ec1Cz15oD0+YOKQ5s3rc4v64JLr\nK97SdZdJ9c6I+u0sP67bTeaArsuJQyNS33XfoZ7Pv5nSGX2v43u1f/NsxmXKXc9jP/QgpPS9ptxm\n6Lfpi1/Unu/VkssGr7NPubnscKWqn/WNmRu3v99b1Wx/0vt7PzU3tqGfpO+rMEg+U+63k6rrW941\nnsj/LHDjQpIcRJPLuz7o7lg2tk/rhTc0Y25uLFU6aF6+Ybpu0jqMpLu5P7ALcKUcAAAASBgn5QAA\nAEDCOCkHAAAAErZzwn1bzfUprs9p9i8TO3PUvXOEzaDZuozr2XzoXs32ZjLD9bFdOnNd/8P3cO6o\nuzOVrne269mem3RZYI0lbjud/bcffc8JmfaVmvYtXzirj234jHmfsQqWdWMRJnX+x95/v9T77p7U\nZR3TzGg2u74+xxvS1VbcjbPw7eujf4BbF2mtc65nc92Ni6jOutr13k+v89AZ3fLUXZ/yuRul9rT6\n+jLaW81nyEtXy1JfeOaq1Eefmpa6aDp2YTtlzH0/+6pbF3W/j8be+2huPOVqXRd+Hxxmfp/w+2ir\nqesqO+rGyLifa/mR7fPegUHhSjkAAACQME7KAQAAgIRxUg4AAAAkbPuE+YZMdLHPUNYmq62OXGjG\nhetaUXOH2YLmW8cmtH/1+MS41NncFmZ71+DQvfulvvS8ZsxDq/P9986UtzK6YlN5lynPDFfz2vX2\naO7MiE6k9HP1GfMvzZySulnR54o11+PYrctG1F7eB45OST0+NeLqsVWWeuu1XN/x8k3NdMeGDi5I\ndQ1j0HXhc8u5Ud2Hcnntgx6aOn9s6br0GfGwzv75jaqOnWjUmqtOS1q/DPnJT77a8/E+Y/740/cO\nZsESUFnU7eD0cxekrpd1u/P88S7vtssHnrrHTR+eY310m2Wj5MZ59LkHRcONnSoU9Gfm/W89JnXn\n+Btgt+BKOQAAAJAwTsoBAACAhHFSDgAAACSMTPkadfendX2MF3R68D2je8iPaG7w+KNHpc4NWb/W\nXMHncbUuZDQTX4kLqz5XdNnf7IjL/vq6kOy6GGSPZt+DuLhP19uBh7Rv+Bs356Su1/ptYzr95gX9\nHKpv8du01kn2SPaZ8qbLr5qL8vs1EVMagM1O6OPvOn5Q6tB0/aSDz+vr86VMM+2+/34/fkxK9Vpr\n1WnDxm/j/fh9YDvzPwdqZa195jxtrh++6fSJ8Qmp/T6X5D4Yo+4DXdtl1/0o+uxD7h4U2aLuQ36c\nB33KsRtxpRwAAABIGCflAAAAQMI4KQcAAAASRqZ8jWoVzQ6e+cpFqSsNl5sOa+8vm8vnXN07s500\nnz2uzmu+vlLWnLXFdvYwuvRvpqC5wtH9+nvisUe0p3E2t7U5w63s0Zwf1fd2z4OHpZ55WV+7UdZ8\nqunHYrGq63ZxVud/5fe1x/L409qnPMk8q7V0OwiuTkV9bz6/2kzre82M6nvz4yJ8PjaO6MpsuYz6\nOoaMmFl3D+dY17qzN3m9qttcs6mvnU7re99qPiPedxzFtPbD9z3jt5UYetYpVzdaemxsuTE0vm/5\nMPHjpsru+NEq9R5X4ccL5cfd+KAp3QcSPd4AQ4Ir5QAAAEDCOCkHAAAAEraN/464tfyfkC1T7zk9\nZT0iJ+5P7fW6+zOhi3/Ua3o7dh932WzNhr63xVm93/upz2mEo17ytyBvfx/dX2uzI/p74ZFHD0hd\n3Ovfe7JRns1sB5fN6Xsb36N/9t/3kNaVmy5i4eIr/s/JPopz89q81LNXtd7K9mxdreYW3f616G7p\n7a4nxJS+t1Re50/7OquPb6XcNptxtdvsYt92lMp/Fml/6O14/VJJW18esL3req1B83GTzraeZr0j\nWSs9fjvp2i5ddK9+08VR3GaRH9MNZ8RFOCamNVZVGBueqGLNxVcufuGam677nN8nzUW+8lMadznx\n9mNSD9N7x/Dw21kv2/lYcwtXygEAAICEcVIOAAAAJIyTcgAAACBh2z+As0V8VrC4R7POV+uuJWLn\n/P4O3C6/GnOa3bt5/YbUhx9I9jbVzaZmui5fvCJ12WWb6wuu7WFoZwl9S8TcSF7qvdOanx22Wy1v\nZTu4nMtY3v3gIamvvawZ8HpZt6N0XTOcraivXXVZvdNf0Dafkwd0G9/MTHnFZXdPP6vjFHy+1bei\ny7tbdI/frbMffmC/zl/Q99Jw4yZG9xSknsvpuoo1v1P35jPlPn8bOgZeFCf01uvDZifkNteqsqht\nAE8/57bLxd656uy47oMPf0Dz9weOT0mdZFvARkPfS3lO33ul5I7zi26cldslcm6fnDzk6v3u+DKq\nPwuwO/VrQ9zrZ64f77Idj1VcKQcAAAASxkk5AAAAkDBOygEAAICEbb/ATUJ8f+2ZC5ohb7VcX2N/\nO2Z9Nqkadc3mTe3XnKHP+m12n/J6TV9vobQo9eK8u917zd0GPLjf9ToblQc3b9b3j3Z1wrcUT7JH\ns+9bPrZnVOp9D2mP4/KsjkVozerzZUy3m9qCfq5zV3Sbnr2qdX50sH3La9V2RnVhRpdl/rpuY7VF\nt3/57O6IrudH3nlM6v3HJ6XOFzS/mnaZ8oNHNIN+4yXN05ZLOr/f3bv2fj/dbdaZ0M6wZ7I6Mel9\nYDfzfcp93Sj7fvVurIPb/ycOjLlac9VJ8u/t6iXtS14vu/x80PeaHdX3OrJf99FH3/WA1GTIYdY/\nQ37ykzqOw+vMmPf7ebwdcKUcAAAASBgn5QAAAEDCOCkHAAAAEkamfI2ia1TeciHzlmmdCe35ferQ\n59NDU383mrk2I/WBY/vWsaQb53vznnvxktTXXnVh5Zrvueyfsf2GWy5T3hytSB3Tfm0NlyT7nuZd\n3/K7ThyU+spLJakb85rVS7dcVrnpMuZu/jPPaJZvclrzsOvNlNdr2mt8Ya6dWT/3wnmZFhfc9YLo\nMtxprXPj2ld8bErz92NFXXYvldbXm9xf1Oef1I26PON24obLffdpY+7HnLTS7X2uXtHPwa83P9YA\nmydE3S5SMe2m63bohhZ1HfuHSbWsGfK563rfg9deuKzzL+o2G91GnhtzPdnfd1Tq4n53/BhhO0Y3\n34e8H39vkO2OK+UAAABAwjgpBwAAABLGSTkAAACQMDLla+T7Z08e0R6rN19zfcs7Ytn+Nx/fY7m6\nWHa1Zkh99m9kVHtlD1p1QV9/5vSc1LOnXVa5oZuRf3+dOfJmWt+LpTRXGPqFcXexrr7lLjc9eUS3\ni+asjg2oud7a2aCZ8KrrW+63g+qC++zWGeXr7EtuZnbhpXZm/cZrmoevL/TOm6bG9b3k79L0rs/f\n95NKuexwRrfDkX06fe6CZsqjG1Pi94Fu+vzVG+3Hv3HhDZk2eVh7WZMp3zy+V3fN7QOtOfcjM+qx\nsOVqL8mjW6ul22i5pON5Xvqjs1IvXnbjOKpu3ERK97n0uNsHi7qu1rtPYnfyGXGfMffTi9Ptn3sb\nHfPle6b7/d8bPzD4czGulAMAAAAJ46QcAAAASBgn5QAAAEDCyJSvUfBtiDN+uubpevWn7epRXNEn\nv3FB87XlBzX75zPl+ZH19YvuJ7oYVSzpm225frXplOtfG1zWsNCe3tIovoUF7S89f1lz0IW85u1z\nLpeYZN/wpBVcn/Bjjx2ReuHcBalrJZd7Dvo7ebrltyOfgO2diG019fl9f23fB3nmtXZdv6Kfa6uu\nr9V0G2WuqMt+9NG7pQImQ3kAACAASURBVN5ofjXlxpA0my4rnHd1w2eN+7xA02XKS+0sc+m6bvPz\nN3S8Ss5lysmYD44fN3Hmmdekrs1rztofy/PueJQf9bnqwR6r18Pvnzeu6P0mylfcPSTm3TiLlutL\nXtSfW1l3O43dfGzG2vntpGh6fvP40/eu6/G99MuMl67qudalkzd6vla/ZbsTXCkHAAAAEsZJOQAA\nAJAwTsoBAACAhBH6WqNM1mVemxoazY7p7zeN+Y78XkPn7erFXdOPYfFNzf6d+sJ5qd/yPs0lpjO9\nf7fKZPX5fb9o34964br2q/YZ8myq92YTo+vh3JG/PfLYQZ15Ud/Lm1/VnOPMWV2Ww4/tkbo4rZn0\n3ZQ5zxVyrtb3ms5r5rO7l7Z+rhk3UKLuMug+b9vVt9z1Lb5yUfvLXjz1ptQL59uvH6tuG9aXttyo\nfq7FvQVXay9vv27WLbj87B6X2x5zmfKyW+CmG4Tin94fAzoy6bPnNFN+dvy81Nm3PSD1+NSYLutG\n3/suVp13vfldb38/3cuO6ed+/zvvkXore3XXKrp/Ltx0YxWuat26qcuearmBEb4v+ZjW9/8xHdOS\nZH4e29dGfmZvNDPu5/fnE/78YzNwpRwAAABIGCflAAAAQMI4KQcAAAAStnMDtwOWzeiqOvawZgUX\nr2tW6fq1dr/t2CdTHqJm+Woutzh3WXPVV87PSH3ZZXf3HtLck1/28rz2Ar/wwkWpb57S128t6u9u\nweVtW6a5y0bQ5x8vtrOFxYPag/Tw0cNSV2/qc/nMl6+vu/xZV+ZLV01X3+CdlEH37yUz0XTTdTur\nL2gOOuV+R28s6HZ72vVsnpjWLHNM6/O9eUFX/pvP63iBONfeLvJ5bWCf26PLMjKt0x/+es2vFsZc\nA/wN8r3/i/s1sz6+X/O4tbJbt3Oun7W//uH2oVBvP752Q9fjJbfeKvMvSP3Q2++XemKfLmt+VNcN\nfc1X5z+ndMy66Xpsy7rjycSBEVfrPrKZOWs/xqPkxga99IdndPoZ3UZb+ta6Wu1nR3XdjN/rxnns\nd+91wPfPwO7ULydeXXTjezp0Z8ZXn9fM7OhTB6TuN2ZtM3ClHAAAAEgYJ+UAAABAwjgpBwAAABK2\nfQO0W8z3/i2Ma9aoMKnTQ76dMW/VNMeUiq6fdHCZbdMMaPWGZgVf+PR5qUcP6vNdv3JN6ljX/Ors\nRc2/V27o8jVLri95U9+rb7Hse/PmpnR59j3Qzhre/cAhmVbcpznE5pQmGX2mq1d+zKw7Q9ZPvwx6\nP8OUUfc9kO97SnPXX7msmdLaos+U6+fYKGvmtOy2w5tX5vTxOd0wrp2ZlzrOuTxex3aZd9vMiQ/c\nLfW+Y0Wp/XrOjw4265d19yW46y7dbrN13Ueff03XbdPt41m3T7tIuaU6jgGtuj62ck23+auNktTz\nM1+V+uADU1Lf/xbNnBenBtzTfZ3qNc2E+n7anfznkNvknLIf75NO9e43nx3xfcnv6jl/V29/p1fm\n3N9Pwtezl3V/e/m/XZB64Yq+ttxLw8yspT+HYnDHB3dsvu+tul1tZQ92DK+NZMDXYj0/4/v1FR+m\nn9+3cKUcAAAASBgn5QAAAEDCOCkHAAAAEjbQwEwI4evM7PvN7D1mttfMZszsq2b2UzHG33TzvsfM\nfsTM3mVmBTM7bWa/YGYfjTFqmHUI5XI+06pZwOz+9ltYXNC3k21oDjHlMuWpqHVrTp+7EjQTXm9o\nZqvZ9JkuV1/W3GSs6maQCVr7frXRNGsYJrR+9H2aNZw+1s51Fdx6Sqd1XaQ1Yt6V6dI0bPd7y79D\n5x90Br1fn1OfYeuVSRt0ns1vgyNunENeW7Ba5aZ+srGmte9b3tTW3Hb+Re1bHqNuB61ruvyhrvtB\nZ362eGBUpu0/NiH1uOv/vNl8L+/CqI5tuH5J7xWQGXO9+11ev1XTOu3y+50Zc7//h6a7j8GcZoPr\ndXc8qGvD6YZ77be85zGptzxTXtfj1flXNPvc6rhPw/Gv0WPJZmfKu/rHd82g+0h2wk/V6T5DfvLT\n56Q+8vi01N257PYSVN2x5+wfviH1/DU3VmhB6+jvN+H275a7z0B2XKdPHNJxERNdfckHe68AJGOj\nmXD/+H4/Y9f7c65XTnwYM+LrNbAlDCH8iJn9QzO7ZmafNLNLZrbfzJ4ws/eb2W92zPtnzew/mFnF\nzH7Jlk7ev8XMftLM3mtm3zmo5QIAAACG3UBOykMI32lLJ+T/1cy+LcZYctOzHd9PmNnPmVnTzN4f\nY/zC8v//qJl92sy+I4TwoRjjJwaxbAAAAMCw23CmPISQMrN/ZmaLZvY/+BNyM7MYY+ffP77DzKbN\n7BO3TsiX56nYUpzFzOyvbXS5AAAAgO1iEFfK32Nmx83sV8zsRgjhaTN73JaiKc/EGP/Azf/B5a//\naYXn+qwtndy/J4SQjzFWV5hnKPjM6dGH7pF65vWbt7+v39RcYZzTzFV0wcXY0P/wGdN80HxtWNQc\nY+W8ZndTQfO6WZ/Y902TXZKy5TLkjbRmzCYmdHkmDmjWcGKvT4IPjs+IbXYGvV9eztfrybBttGe6\nNz+rmdJMVpelGTUkno6uJ7PbLhqLuuFcPa19ka3ixgfUXG9utx135v2OPnVg1WnDaPo+7QUeMroP\nXq7ruqlf030mtHx2ub1uUv4+AEHXRaqpMzQrLkt8U1/r5huLUl99VfPwlUU9zAZ/qcYfHlx76+jr\npj+gablYdstz8brUzY5M+djUpD62pMvqx1EURvM9p69X93ga/Z/yvC7P7BX93F97/orUvrf41XP6\nWeTH3TiMjt7hDbe71cq64iuLuh1kU24f8p9jxo0Nyun+PX5C192Jp47qso6SId8sm93rez2SHHdl\ntjNy4usxiHfzjuWvl83sOTN7S+fEEMJnzew7Yoy3TjEeWv56yj9RjLERQjhnZo+Z2X1m9mKvFw4h\nPLvKpIfXtugAAABA8gbREvHWJa6/amYjZvbHzaxoS1fLf9vMvt7Mfrlj/luXPmZXeb5b/z+1ynQA\nAABgRxnElfJbf7MOtnRF/MvL9ckQwp+zpSvi7wshvHuFKMtKbv2Rzf/lsEuM8W0rPsHSFfQn1/Ba\nAAAAQOIGcVJ+K3B0tuOE3MzMYozlEMJvm9lfNrOnzOwPrH0lXMOCbbc6v652JX0o+Ez5+KTmqE88\ncd/t71+snJFpjb2aD1u8pJnzUNMsXyZo7TPmse77S7tssBNcuDAG1686ah1y7vlHNTM2ctBliTPd\n3X2HxXoz6J7PyxWntX/1RrJ+683u9dOouRxzWbej0aKONajc0PlTLmPeqrvPdUbfu9dyv1YP71bR\nX2dPdTOzex88IvWe/ZqTrFdPS33NZcwbNzSLnLH28/v+0X5/Trk1mXZ9zOO8G2Oi7aztBdcru7DH\n5ZhzLu8eXM/1pj5/0/W3j1XXg72pz99o6Xuvuzq22q/3/O/qsTM7osfdyWndYx/72hNSbzRT7q8N\nNdwtNMK8rpsXPn3WPV4/S58N9sN5Fq768UTt9xvc4KNUStdzNvgxHPrcreCWvaj11P26rvbfq3+s\nnph2fck3vG6HxzBluFcy6J8N69GrL/ha7LZM+EYNIr7y8vLXm6tMv7U13RoNeGv+B/2MIYSMLQ0a\nbZiZP7oBAAAAO9IgTso/a0sn0SdCCCv96vz48tfzy18/vfz1m1aY9+vNbNTMPjfMnVcAAACAQdrw\nSXmM8Zot3ZVz0sz+Xue0EMKfMLM/aUtRlFstEH/Flu76+aEQwts75i2Y2T9aLn92o8sFAAAAbBeD\nCvP8gJm908x+OITw9Wb2jJkdNbM/Z0t37vyeGONNM7MY41wI4Xts6eT8d0IInzCzGTP7M7bULvFX\nbOkkf1vJF1we7+69t79/8D2aGb9yQfvyzjS1b6+NaDaw5Sb7IGK1qy+oy4R3pXl7j6Gtt1y22DU2\nnzqmyzcy7jKvQ5wp36iNZtI7bbRn+nrVKpoRPf0lTYiFs/q51UquoX1df4f32WevX3awON3ub9/d\n3931WN5gz/bN1qjoujt06LDUM2c0Y97MunsXdJRpc33J3XoObv9PR12v0YX5Y0lzz4vuc124pP2t\nWymdHl0WOZrWLden3BpujElL30824zLsrp92530RFkyXrZl196Zzh5rqoq7XjYruBXy+vzrv/6Dr\nB1Loysm43Hc6+H3KvSH5rN1YoNjdRb2T/xzTo/r4sYO6LI88db/UhVEdM1Kb0+e7PtN1n8AdI8kM\n90o2muteDzLgyRpEfMVijFds6aT8J83siJl9ny3dJOg3zOzrYoy/7Ob/NTN7ny1FX77dzP6GmdVt\n6eT+Q7H7aAMAAADsWAP7lSfGOGNLJ9U/sMb5f9/M/vSgXh8AAADYrgZypRwAAADAnSMcNCAhpb/f\njIy383h3Hb1Lpu2b3i/1wnHNJV788mWpp/ZrS/dzf6TT50sudJ52/Wjdr15p19+26UKhLff4kUnN\ny4/v0/7WxT2apM7ld07/2s00yHz6WtQqmrdNjx6X+uWMZsyvfVkz7bFPptxnD30P9xMfuNvNv/rh\np1+m0+fx+9nqHGR1UcdlHDx0SOq51ILUC4vtuj6nj7Wo6zUd/HvxfcX9VNc33PWfjw3d/+vRvb6/\n74HLmKf867n7KHRl5F3GPOX6b4eOzHradNn8saxR0qTjwhXdxq+31pd7nr9SlrrutjOfKU+bO9a5\ndZN2efmUfwP+s+uxbF19//26iC5P77L+6RH9j3tPHNUZym5sgvuZttk56369wjundx87B5t73soM\n90rIde9eXCkHAAAAEsZJOQAAAJAwTsoBAACAhBFM2iTpdDt7mHaZ0NERlxHdo/UTT2s/6dIVzYzP\nXdY6rRFvi2nNDqYnXDbYZQ19hDSlUWAbGdN+tvc/qlnEiekxqTNZ12MaQyFX6D02YOLQiNSzr+t2\nVn/TJV7dduNzjic+4MZSHCuuOn+/nu2lq9qv2md/z39eG5kfe8e01OMH9L0lncmsLmj+9+XPvnr7\n+znT9V6b13XTcmNAfG/rrjr0zpz7cHI2+jEhsUe1wv90vV7v5eslE1yP84IenMbyeuyZOeey+pd9\nPr43v135lLfPhIe0Ll9w+fmutuN93ntX5/GOg3Xe5YqzY5pvz4/p/hVTLTddP9eFq7oNNuZ13Zlp\nPeictd/n/bo/dXJm1ccWTffno08dkHq9+zcZbgwLrpQDAAAACeOkHAAAAEgYJ+UAAABAwghKbZLO\nvFzpqmblLjyj+dejT2n+1Wf/igc0N/nwN9wrtc+nWtolE1M+89mdChVucsFlyn02OT9CX/LtKOuy\n/4ePay/teZfjvjaj/fQzOT18FKdHeta9cpn9Mpu5Rc2f+p7JPhPqM+gbzZwOmu/BnBtv94x/6Y+0\nX3zpDV3v1ZI+tr6gvbF9P/m060venWu+88z32vhMumadY9TpnfdJqKf0cyxMaqb8+FMHpZ7Yr7nq\n9aq5cQ8XntF7QuQ3ebuJbl01W+11kR3Tz/X+d90jtc+cb9Rm56x9ptzv0/740emxb9afges51gDD\njCvlAAAAQMI4KQcAAAASxkk5AAAAkDCCVwPi83GdOfKTn3zVzy58xvzxpzUv57OC3dlB16gcq/Kf\nUz87OZuYzel2ND6lYxeKrv/8wqTmXdOuh3R3bntwGVe/j/Tjx2kMG79uiql2JvZrPvigTJu/qX3L\nL53TnPPMq/P65GW91pJq6Ws15vVzrLm8ftXl3VvRZ8I1w94K7sYH5vuom6tdxt31MW925MhTU7os\n+T16rCse1oz5vrs3mCl3x4fitD5/dXF9x49161rX7dpvMz7f7scibTd+n+019ooMOXYqrpQDAAAA\nCeOkHAAAAEgYJ+UAAABAwghibZL1ZGCHPf+6nfXK+pv17xlftN2TXezuW649oOev6LqLs5vbx7jT\nevKmZtsvc5ofya/4vZnZyKTWEy7rX31M71PQcrctCFEz27V5zYSf/yPNqFdcbjq2NCPecpnySlm3\ni2pFe4s3avp82ZxmygujmoVOF9ufVWavZqz33T0ldX50sDlqv534enygr7a7+XXrj7V+bFWvxwI7\nBVfKAQAAgIRxUg4AAAAkjJNyAAAAIGEEszZJZ8Z1p+Vfh1m/DPlGe8bvZL5v+diUbpd7XA/oWk5/\np8+PDm673UjedKXHb2c+65+ddP3lJzVj3k/N9SEvHtTe375PuRddL+1quSr16S+dk7oZ9fnG9+jy\nTk1Punri9veZvObP/T0acgXN22P72kn7LHCnuFIOAAAAJIyTcgAAACBhnJQDAAAACSPENSC9MrC7\nKf86bNbTL96MnvGdfJb53oeO6AwP9Z5/kNhHBqe7n7zWPr/fT3VRM+UThx+Vul7TTHkmp59lfkR7\njXeObUinNVMOADsZV8oBAACAhHFSDgAAACSMvwlvEv7cPhx2+u3ZN5NvkehrwMwsP5rvWQMA1oYr\n5QAAAEDCOCkHAAAAEsZJOQAAAJCw3RuYxY7E7dkBAMB2xJVyAAAAIGGclAMAAAAJ46QcAAAASBgB\nWuxoZMQBAMB2wJVyAAAAIGGclAMAAAAJ46QcAAAASBgn5QAAAEDCOCkHAAAAEsZJOQAAAJAwTsoB\nAAD+//buPeqysi7g+PcnIIw4wy1YuMS4DkbQHyyTdFQulZSJCTl5WxJUUJRAhK3ooslqaXlBhcRS\nQ4GEQqGAMBJKGEajBLJSUQIcRiG5D5dhGEDg1x/Pc3jPbM553zmHd959Lt/PWmftOXs/+7x7/+bZ\nZ//2c579bKllDuKskfbEuicHKu+45JIkaRzZUi5JkiS1zKRckiRJaplJuSRJktQyO+BqpDT7kK+9\nd/0G77933b0bvN/1gB03eL+YRRu8t4+5JEkaB7aUS5IkSS0zKZckSZJaZlIuSZIktcwOt2rVXH3I\nb/zi92ddv9nHfL/X/+i8bs9c7LMuSZLmgy3lkiRJUstMyiVJkqSWmZRLkiRJLbNDrEZKs4/4XJrj\nlA/KcdElSdIosKVckiRJaplJuSRJktQyk3JJkiSpZXaA1Uhp9tmes0/3joP16R61cdElSZLAlnJJ\nkiSpdSblkiRJUstMyiVJkqSW2adcrWr2Ad9h68Ubvt9tw/fz/fdWvvfGgdY/8Ph953NzJEmSAFvK\nJUmSpNaZlEuSJEkti8xsexvmXUTcv2jRou333ufH2t4UjbgH71g3UPltd9l6E22JJEkaRzd/5ybW\nr1+/JjN3eC6fM6lJ+W3AEmCrOuumFjdnXHWuaIzd4IzdcIzb8Izd8Izd8IzdcIzb8EY1drsBD2fm\n7s/lQyYyKe+IiP8EyMyXtb0t48bYDc/YDce4Dc/YDc/YDc/YDce4DW/SY2efckmSJKllJuWSJElS\ny0zKJUmSpJaZlEuSJEktMymXJEmSWjbRo69IkiRJ48CWckmSJKllJuWSJElSy0zKJUmSpJaZlEuS\nJEktMymXJEmSWmZSLkmSJLXMpFySJElqmUm5JEmS1LKJTMojYpeI+GxE/CAiHo+I1RFxekRs1/a2\ntSkidoiIYyLi4oi4NSLWR8RDEfHViPj1iOhZHyJiWURcHhFrIuLRiPhGRJwUEZst9D6Mmog4MiKy\nvo7pU+awiFhRY/1IRHwtIo5a6G0dBRHxmoj4+4i4sx6bd0bElRHxCz3KWu+qiHh9jdMd9bhdFREX\nRsQr+5SfmthFxPKI+HhEfCUiHq7H4nlzrDNwfCbxOB4kdhGxNCJOiYirIuL2iHgiIu6OiEsj4pA5\n/s5REXFdjdtDNY6HbZq92vSGqXON9T/Tdd7Yq0+ZzWqd/EY95tfUOrts/vZk4Q15vEatQytqHNZH\nxG0R8YWI2LvPOuNZ5zJzol7AnsDdQAKXAB8ArqrvbwJ2aHsbW4zNcTUOPwDOB/4c+CzwYJ1/EfUp\nr13rvBF4EngE+Azw4RrHBC5se59ajudLauzW1ngc06PM8XXZfcAngI8Bt9d5p7W9Dwscr3fX/b4X\nOBv4M+DTwPXAhxplrXczsfhgVx06q36nXQQ8ATwNvGOaYwf8d923tcB36r/Pm6X8wPGZ1ON4kNgB\nF9TlNwKfquePf6ixTODEPuudVpffXuP2CeD+Ou/4tmOwEHWuse4butZNYK8eZQK4kJm85cO1rj5S\n4/3GtmOwULEDtgIu64rFmbXunQusAg6bpDrX+gZsgv/wK2rgT2jM/2id/8m2t7HF2Px0/UJ4XmP+\nzsD3a3ze1DV/CXAP8Djwk13ztwKureXf2vZ+tRTLAP4V+G79wnxWUg7sBjxWvwx265q/HXBrXeeV\nbe/LAsXrl+v+/guwuMfyLbr+bb2b2eedgaeAu4CdGssOqbFYNc2xq3FYWo/Jg2c7yQ8Tn0k+jgeM\n3dHA/j3mH0S5QHwceFFj2bL6mbcC2zVien+N627ztT+jGLfGejvWY/kCYAX9k/K31WX/BmzVNf/l\nNc739PoeHYfXoLGjJNRJacR5Xo/lWzTej3Wdm6juKxGxB3AosJryH9ntvcA64MiI2HqBN20kZOZV\nmXlZZj7dmH8X8Mn69uCuRcspXyIXZOYNXeUfo7R6AvzWptvikXYi5SLnVyn1qpdfA7YEzszM1Z2Z\nmfkA5QsGyq8XE612i/og8Cjw9sxc2yyTmT/semu9m7ErpZvh1zLznu4FmXk1pbVpx67ZUxe7zLw6\nM2/JeuadwzDxmdjjeJDYZeY5mflfPeZfQ0kwn09JiLp14vL+Gq/OOqsp5+gtKd+hY2XAOtft03X6\nzjnKdergu2vd7Pzd64HPU+rw8gH/9kgYJHYRsSelDl0P/HEzd6mf98PGrLGucxOVlFOSJIAreySe\naylXnS8AXrHQGzYGOhX7ya55nXh+qUf5lZQka1lEbLkpN2zURMQ+lC4EZ2TmylmKzha/f26UmWTL\ngN2By4EHav/oUyLid/r0ibbezbiF0gp5QET8SPeCiDgQWEz5xabD2M1umPh4HM+t1/kDjN0zIuJo\n4HDguMy8f5ZyW1K+Mx8FvtKjyDTF7W2UPPVcYElEvCMi/jAifqNfX3zGvM5t3vYGzLOX1unNfZbf\nQmlJ3xv48oJs0RiIiM2BX6lvuyty33hm5pMRcRuwL7AHpW/YxKux+hylu88fzVF8tvjdGRHrgF0i\n4gWZ+ej8bulIeXmd3g18HfiJ7oURsRJYnpn31lnWuyoz10TEKZTud9+OiEsoP8HuCfwipTvQb3at\nYuxmN0x8PI5nERG7Aj9DSSJXds3fGngx8Ehm3tlj1VvqtOeNepOkxugMSjeNS+YovhewGaVbWvMi\nB6YobsycO7ahdBXdoWtZRsRfUe5leAomo85NWkv5NnX6UJ/lnfnbLsC2jJMPAPsBl2fmFV3zjeez\n/QmwP3B0Zq6fo+zGxm+bPssnxU51ehywCPhZSgvvfpR7QA6k3NTUYb3rkpmnA79EaUQ5FvgDSh/9\n24FzGt1ajN3shomPx3EftVX3fEqXgFO7uwtgXQSe6b53LuUmzRM3YhXjNqNz7vhT4AZKg85iykXg\nd4HfBt7TVX7sYzdpSflcok4H7Qc2sSLiROBdlLuajxx09TqdinhGxAGU1vGPZOa/z8dH1umkx68z\nzFxQWsS/nJmPZOaNwBHAHcBBfbqy9DItcQMgIn6fMtrKOZQW8q2Bl1FGHjg/Ij40yMfV6VTEbgjD\nxGcqY1qHj/wc8CpKP+fThvyoSY/b71Juhj22cdEyrGmqb51zx53AEZn5rXruuIrSp/5p4OSIeP6A\nnzuysZu0pHyuFosljXJTLSLeSflJ7dvAIZm5plHEeFZd3VZuZsMr89lsbPwefg6bNg46J6JVmfk/\n3Qvqrw2dX2cOqFPrXRURB1Nukv3HzDw5M1dl5qOZ+XXKBc3/Ae+qN7mDsZvLMPHxOG6oCfl5lF9s\nvkAZlrOZ6MwVt7laNcdeRCwF3g+cnZmXb+RqHsMzOueOLzV/ma7nktsoLef71NljX+cmLSn/3zrt\n119oaZ3263M+NSLiJMp4n9+iJOR39SjWN541Sd2dcmPPqk21nSPkhZQ47AM81vXgh6SM7APw13Xe\n6fX9bPF7EaXF844p6IfaicODfZZ3vngXNcpb76DzsIurmwtqvbmO8j2+f51t7GY3THw8jrvUOP0d\n8FbgbykjKj2r73NmrqNcNL6wxqlpGs7H+1JH++g+Z9TzxkG1zC113uH1/a2UYVD3qLFumoa4dQx0\n7piEOjdpSXnnxHVoNJ5OGRGLKT+zrQf+Y6E3bJTUG8c+RhnE/5DmUGtdrqrTn++x7EDKSDbXZubj\n87+VI+dxysMber06w4R9tb7vdG2ZLX6va5SZZCspic7SPj8z7lenq+vUejejMwrIjn2Wd+Y/UafG\nbnbDxMfjuKrH70WUFvK/AY7s3GTXx7THbjX9zxudhrAL6/vVALXuXUupi6/p8ZnTELeOzoAc+zUX\n1PsZOkn26q5F413n5mvA81F54cOD5orPe2ocbgC2n6PsEsrTF6fmQSRDxvRUej88aHcm9KEjQ8To\nvLq/72vMfy2lX+CDwLZ1nvVuZp/fXPf3LuDFjWWvq7FbT31S8bTHjo17eNBA8ZmW43gjYrcl8E+1\nzFn0eJBLj3XG+kEu8xG3WdZbwXN7eNCStvd9Aerc8yk3dD4NvLax7H113RWTVOeibuzEqIPNX0u5\na/dSyrBWP0V5itTNwLKcZYzQSRYRR1FuFnsK+Di9+1WtzsxzutY5nNIy8hjlKWRrKEOxvbTOf3NO\nWiUaUEScSunCcmxmntVYdgLwF5Qvg89TWjSXA7tQbhj9vYXd2nZExE6UE8xelLF3r6M8GOcIyhfo\n2zPzwq7y1jueGbnhCsqINWuBiykJ+j6Uri0BnJSZZ3StM1Wxq/vb+el/Z+DnKN1POmM839d9nA0T\nn0k9jgeJXUScTXmq533AX9L7ZrkVmbmi8Tc+ApxMuaH7Ikqi9RbK8HYnZOaZ87dHC2PQOtfnM1ZQ\nurAszcxbG8uCjPAr1wAAAX1JREFU0ld/OWUQhsso8XoL5QLyTZl56bzszAIb4nh9NXAlpd5cDHyP\ncnFyIOUC+9WZuUF3lLGuc21fFWyKF/AS4GzKHbtPUP4Tz2COluFJfzHTojvba0WP9V5FffALpVXu\nm5Q7yjdre59G4UWflvKu5W8ArqEkVesoTyc7qu3tbiFO21N+sbqtHpf3Uy6cX9GnvPWuxGEL4CRK\nt7uHKV2B7gG+CBw67bHbiO+11fMRn0k8jgeJHTMtu7O9Tu3zd46q8VpX43cNcFjb+7+Qda7HZ3Ti\n+ayW8rp881onv1nr6AO1zi5re/8XOnbAj1Muhu+p547bgU8Bu8zyd8ayzk1cS7kkSZI0bibtRk9J\nkiRp7JiUS5IkSS0zKZckSZJaZlIuSZIktcykXJIkSWqZSbkkSZLUMpNySZIkqWUm5ZIkSVLLTMol\nSZKklpmUS5IkSS0zKZckSZJaZlIuSZIktcykXJIkSWqZSbkkSZLUMpNySZIkqWUm5ZIkSVLL/h9Y\ngcOQSrbHMQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x17905ad3390>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 203,
       "width": 370
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def gen(batch_size=32):\n",
    "    X = np.zeros((batch_size, height, width, 3), dtype=np.uint8)\n",
    "    y = [np.zeros((batch_size, n_class), dtype=np.uint8) for i in range(n_len)]\n",
    "    generator = ImageCaptcha(width=width, height=height)\n",
    "    while True:\n",
    "        for i in range(batch_size):\n",
    "            random_str = ''.join([random.choice(characters) for j in range(4)])\n",
    "            X[i] = generator.generate_image(random_str)\n",
    "            for j, ch in enumerate(random_str):\n",
    "                y[j][i, :] = 0\n",
    "                y[j][i, characters.find(ch)] = 1\n",
    "        yield X, y\n",
    "def decode(y):\n",
    "    y = np.argmax(np.array(y), axis=2)[:,0]\n",
    "    return ''.join([characters[x] for x in y])\n",
    "\n",
    "X, y = next(gen(1))\n",
    "plt.imshow(X[0])\n",
    "plt.title(decode(y))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\wqw\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:7: UserWarning: Update your `Conv2D` call to the Keras 2 API: `Conv2D(32, (3, 3), activation=\"relu\")`\n",
      "  import sys\n",
      "c:\\users\\wqw\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:8: UserWarning: Update your `Conv2D` call to the Keras 2 API: `Conv2D(32, (3, 3), activation=\"relu\")`\n",
      "  \n",
      "c:\\users\\wqw\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:7: UserWarning: Update your `Conv2D` call to the Keras 2 API: `Conv2D(64, (3, 3), activation=\"relu\")`\n",
      "  import sys\n",
      "c:\\users\\wqw\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:8: UserWarning: Update your `Conv2D` call to the Keras 2 API: `Conv2D(64, (3, 3), activation=\"relu\")`\n",
      "  \n",
      "c:\\users\\wqw\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:7: UserWarning: Update your `Conv2D` call to the Keras 2 API: `Conv2D(128, (3, 3), activation=\"relu\")`\n",
      "  import sys\n",
      "c:\\users\\wqw\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:8: UserWarning: Update your `Conv2D` call to the Keras 2 API: `Conv2D(128, (3, 3), activation=\"relu\")`\n",
      "  \n",
      "c:\\users\\wqw\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:7: UserWarning: Update your `Conv2D` call to the Keras 2 API: `Conv2D(256, (3, 3), activation=\"relu\")`\n",
      "  import sys\n",
      "c:\\users\\wqw\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:8: UserWarning: Update your `Conv2D` call to the Keras 2 API: `Conv2D(256, (3, 3), activation=\"relu\")`\n",
      "  \n",
      "c:\\users\\wqw\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:14: UserWarning: Update your `Model` call to the Keras 2 API: `Model(inputs=Tensor(\"in..., outputs=[<tf.Tenso...)`\n",
      "  \n"
     ]
    }
   ],
   "source": [
    "from keras.models import *\n",
    "from keras.layers import *\n",
    "\n",
    "input_tensor = Input((height, width, 3))\n",
    "x = input_tensor\n",
    "for i in range(4):\n",
    "    x = Convolution2D(32*2**i, 3, 3, activation='relu')(x)\n",
    "    x = Convolution2D(32*2**i, 3, 3, activation='relu')(x)\n",
    "    x = MaxPooling2D((2, 2))(x)\n",
    "\n",
    "x = Flatten()(x)\n",
    "x = Dropout(0.25)(x)\n",
    "x = [Dense(n_class, activation='softmax', name='c%d'%(i+1))(x) for i in range(4)]\n",
    "model = Model(input=input_tensor, output=x)\n",
    "model.compile(loss='categorical_crossentropy',optimizer='adadelta', metrics=['accuracy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "ename": "ModuleNotFoundError",
     "evalue": "No module named 'keras.utils.visualize_util'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-24-cc1127ce7a2f>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mutils\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvisualize_util\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mplot\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      2\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mIPython\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdisplay\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mImage\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      4\u001b[0m \u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mto_file\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"model.png\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mshow_shapes\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m \u001b[0mImage\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'model.png'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'keras.utils.visualize_util'"
     ]
    }
   ],
   "source": [
    "from keras.utils.visualize_util import plot\n",
    "from IPython.display import Image\n",
    "\n",
    "plot(model, to_file=\"model.png\", show_shapes=True)\n",
    "Image('model.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "ename": "ModuleNotFoundError",
     "evalue": "No module named 'keras.utils.visualize_util'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-23-da203d6c23f8>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodels\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[1;33m*\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mutils\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvisualize_util\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mplot\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'keras.utils.visualize_util'"
     ]
    }
   ],
   "source": [
    "from keras.models import *\n",
    "from keras.utils.visualize_util import plot"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
